﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using DTO;
namespace DAO
{
    public class GioVaoDAO
    {
        // Ghi Tạm Dữ Liệu Xuống Bảng Giờ Vào
        public void GioVao(DateTime gioVao,int Id_Ban_An)
        {
            // Tạo Kết Nối CSDL
            SqlConnection myCONN = DataProvider.ConnectDB();

            //Viết Câu Lệnh SQL
            string mySQL = "INSERT INTO GIOVAO(Gio_Vao,Id_Ban_An) VALUES(@Gio_Vao,@Id_Ban_An) ";

            // Thực hiện truy vấn
            SqlCommand cmd = new SqlCommand(mySQL, myCONN);
            SqlParameter para = cmd.Parameters.Add("@Gio_Vao", System.Data.SqlDbType.DateTime, -1);
            para.Value = gioVao;
            para = cmd.Parameters.Add("@Id_Ban_An", System.Data.SqlDbType.Int, -1);
            para.Value = Id_Ban_An;
            cmd.ExecuteNonQuery();
            myCONN.Close();
        }
        public void XoaGioVao(int Id_Ban_An)
        {
            // Tạo Kết Nối CSDL
            SqlConnection myCONN = DataProvider.ConnectDB();

            //Viết Câu Lệnh SQL
            string mySQL = "DELETE FROM GIOVAO WHERE Id_Ban_An = @Id_Ban_An"; 

            // Thực hiện truy vấn
            SqlCommand cmd = new SqlCommand(mySQL, myCONN);
            SqlParameter para = cmd.Parameters.Add("@Id_Ban_An", System.Data.SqlDbType.Int, -1);
            para.Value = Id_Ban_An;
            cmd.ExecuteNonQuery();
            myCONN.Close();
        }
        public GioVaoDTO LayGioVao(int Id_Ban_An)
        {
            // Tạo Kết Nối CSDL
            SqlConnection myCONN = DataProvider.ConnectDB();

            //Viết Câu Lệnh SQL
            string mySQL = "SELECT Gio_Vao,Id_Ban_An FROM GIOVAO WHERE Id_Ban_An = @Id_Ban_An";

            // Thực hiện truy vấn
            SqlCommand cmd = new SqlCommand(mySQL, myCONN);
            SqlParameter para = cmd.Parameters.Add("@Id_Ban_An", System.Data.SqlDbType.Int, -1);
            para.Value = Id_Ban_An;
            SqlDataReader reader = cmd.ExecuteReader();
            reader.Read();
            GioVaoDTO gvDTO = new GioVaoDTO();  
            try
            {
                gvDTO.GioVao = reader.GetDateTime(0);
                gvDTO.ID_Ban_An = reader.GetInt32(1);
            }
            catch(Exception ex)
            {
                return gvDTO;
            }
            
            myCONN.Close();
            return gvDTO;
        }
    }
}
